package hottargui.domain;

/** Player represents one of the players in the game.

    Responsibilities:
    1) Know its color
    2) Know number of coins in the treasury

 */

public interface ModifiablePlayer extends Player {

	/**
	 * withdraws the specified amount frem treasury.
	 * preCondition: The amount withdrawn is bigger than the coins in treasury
	 * @param amount the value withdrawn from treasury
	 * @throws IllegalWithdrawException a runtime exception that is thrown
	 * if the player trys to withdraw the amount in treasury  
	 */
	public void withdraw(int amount);

	/**
	 * add the specified amount frem treasury.
	 * preCondition: The amount withdrawn is bigger than the coins in treasury 
	 */ 
	public void add(int amount);

}
